все способы связи
и решения проблем
Многоканальный телефон: (495) 989-1540, бесплатно по россии: 8-800-555-1540
 
Начало О проекте Цены Регистрация
поиск  
  На главную

API для работы с хостингом

APIAPI для работы с хостингом позволяет автоматизировать управление ресурсами и анализ данных.

Примеры использования API хостинга:

  • Отслеживание состояния аккаунта и своевременный анализ уведомлений
  • Автоматическое создание, удаление, конфигурирование ресурсов
  • Доступ к данным внутреннего мониторинга 1Gb.ru, анализ качества работы VDS
  • Автоматизация типовых реакций на проблемы ресурсов и хостинга

Доступ к API хостинга активен в любом оплаченном тарифном плане. Для тестовых или бесплатных аккаунтов API не работает.

  • https://www.1gb.ru/api-doc/ - Swagger-портал API (документация, примеры, тесты)
  • @lk_1gb_bot - Телеграм-бот для работы с личным кабинетом с демо-режимом обучения API

Принципы работы и примеры

Доступ происходит по протоколу HTTPS по базовому адресу https://www.1gb.ru/api/ или https://api.1gb.ru/api/. Параметры большинства запросов можно передавать с помощью GET или POST параметров. Ответ содержит объект или массив объектов по стандарту JSON.

Адреса www.1gb.ru и api.1gb.ru с целью вызова API равноценны, просто они поддерживают разные наборы HTTPS шифрования. Если у вас современный проект, лучше использовать api.1gb.ru, если старый, то www.1gb.ru.

Перед началом работы с API требуется получить token для дальнейшей авторизации. Это делается следующим образом (приведены примеры использования GET параметров):

  • https://www.1gb.ru/api/auth/start?login=[логин_кабинета] - возвращает в ответ string, содержащий соль
  • https://www.1gb.ru/api/auth/login?login=[логин_кабинета]&salt=[соль]&response=[md5(пароль+соль+символ-перевода-строки)] - возвращает в ответ string, содержащий token;
    псевдокод для вычисления response на PHP: md5($password.$salt."\n")

Последний запрос возвращает string, в нем token, его нужно запомнить и использовать для последующей авторизации. Token утрачивает силу при смене главного пароля аккаунта, существует также возможность деактивировать отдельные token-ы со страницы кабинета "смена главного пароля аккаунта".

Примеры дальнейших запросов:

  • https://www.1gb.ru/api/billing/info?_token_=[запомненный token] - получение общих данных аккаунта

Ответы API с HTTP кодом 200 обозначают успешное исполнение операции. В ответном JSON может содержаться два разных типа:

  • [ "string" ]: либо просто "OK", либо "[число]" (необходимо привести к int), если возвращается ID созданного объекта
  • [ { ... } , { ... } ] (массив объектов): если запрос возвращает список из 0 или более структур (хеш "поле":"значение").
Другие коды (больше 200) обозначают ошибку, при этом тело ответа содержит string с объяснением, пример: "ERROR: vds.missing".

Команды API и общие соглашения

Большинство команд API, таких как /list, возвращают внутренние структуры из базы данных хостинга, которые содержат сотни полей. Документировать их трудоемко, поэтому рекомендуем просто смотреть на вывод соответствующих команд и анализировать структуры данных по очевидным названиям полей.

В том случае, если трактовка полей вызывает затруднения, пишите на support@1gb.ru, поможем разобраться.

В настоящее время идет процесс наполнения/создания полной документации к API на основе http://swagger.io/, где будет систематизирована вся доступная информация.

Общедоступные на данный момент команды

https://www.1gb.ru/api + адрес из списка ниже. Обязательный параметр каждой команды - _token_. Остальные параметры приведены после команды. В квадратных скобках - не обязательные. В круглых - примеры или умолчания.


/auth/start
	login

/auth/login
	login
	salt
	response
	[user_agent]

/logoff
/auth/logoff
	Destroy current token.

/c2dmkey/set
	_key_
	Internal usage, do not call.

/gcmkey/set
	_key_
	Internal usage, do not call.

/iospushkey/set
	_key_
	Internal usage, do not call.

/billing/info

/billing/limits

/billing/balance

/billing/balance.lic

/billing/debt

/updates/list
	_key_ - first ID or 0 to show all

/updates/last

/vds/list
	[_key_] - /vds/list|id

/vds/ip/list
	[_key_] - /vds/list|id

/vds/templates-list

/vds/create
	[type] (vds.dynamic) vz1|vz2|vz3|vz4|vz5|vds.dynamic|vds.dynamic.nv
	[cr_hvmem] (2048)
	[cr_hvdsk] (30)
	[cr_hvcpu] (2)
	[template] (win2012R2x64)
	[force_memo]
	[hv_1gb_panel_version]
	[panel_install] - 1|0
	[cr_ssd1] - 1|0
	[cr_hv_all_system] - 1|0

/vds/update
	_key_ - /vds/list|id
	[cr_hvmem] (2048)
	[cr_hvdsk] (30)
	[cr_hvcpu] (2)	

/vds/ip/add
	_key_ - /vds/list|id

/vds/ip/delete
	_key_ - /vds/list|id
	del_ip

/vds/reboot
	_key_ - /vds/list|id

/vds/delete
	_key_ - /vds/list|id
	[force_critical] - 1|0

/vds/online
	_key_ - /vds/list|id
	online - 1|0

/email/list

/email/alias/list

/email/add
	add_email

/email/delete
	_key_ - email address (string)

/email/alias/delete
	_key_ - email address (string)

/website/add
	name - website name (temp subdomain), keep simple, unique and short
	srv_type -
		99901	Best for PHP
		99902	Best for ASP, ASP.NET
		99903	Best for Static Content
		8	.NET 2 - 3.5
		99904	.NET 4+, .Core
		1	Legacy ASP + .NET 2 - 3.5
		4	mod_php 5.2
		9	mod_php 5.3
		10	mod_php 5.4
		11	mod_php 5.5
		12	mod_php 5.6
		13	mod_php 7.0
		15	mod_php 7.1
		16	mod_php 7.2
		17	mod_php 7.3
		18	mod_php 7.4
		19	mod_php 8.0
		20	mod_php 8.1
		21	mod_php 8.2
		5	PHP - FastCGI
		6	PHP - CGI (not recommended)
		20008	Frankfurt - .NET 2 - 3.5
		29994	Frankfurt - .NET 4+
		2004	Frankfurt - mod_php 5.2
		2009	Frankfurt - mod_php 5.3
		2010	Frankfurt - mod_php 5.4
		2011	Frankfurt - mod_php 5.5
		2012	Frankfurt - mod_php 5.6
		2013	Frankfurt - mod_php 7.0
		2015	Frankfurt - mod_php 7.1
		2016	Frankfurt - mod_php 7.2
		2017	Frankfurt - mod_php 7.3
		2018	Frankfurt - mod_php 7.4
		2019	Frankfurt - mod_php 8.0
		2020	Frankfurt - mod_php 8.1
		2021	Frankfurt - mod_php 8.2
		2005	Frankfurt - PHP - FastCGI
	
/website/list

/website/delete
	_key_ - /website/list|id

/ftp/list
	(not recommented - use /website/ API)

/ftp/delete
	_key_ - /ftp/list|id
	(not recommented - use /website/ API)

/dns/list

/dns/add
	add_dns_zone
	[add_dns_record]
	[iis_site_for_dns] - /website/list|id OR "ip_a.b.c.d" string to bind to VDS
	[bind_only] - 1|0

/dns/bind
	_key_ - /dns/list|id
	[dns_to] - /website/list|id OR "ip_a.b.c.d" string to bind to VDS

/dns/delete
	_key_ - /dns/list|id

/dns/raw/managedmx
	_key_ - /dns/list|id
	upd_managed_mx - 1
	managed_mx - 1|0 - add/keep/update (1) or delete (0) hosting-managed root MX record

/dns/raw
	_key_ - /dns/list|id
	s_del = 1 to delete record, DO NOT specify ANY s_del to create record
	s_add = 1 to create record, DO NOT specify ANY s_add to delete record
	dns_type = A,MX,CNAME,AAAA,NS,TXT,SRV
	dns_name = record name or @ for root
	dns_value = record content, dnscmd.exe format (A: [ip], CNAME: [name], MX: [priority] [target])

/database/list

/mssql/list

/dns/prolong/list
	[show_all - 1|0]

/chat/key

 

Полезный совет
      

API хостинга функционирует уже много лет для поддержки различных сценариев, таких как массовые услуги для VDS клиентов или работа наших приложений Android / IOS. Теперь мы решили предоставить к этим API публичный доступ.

Текущий функционал API не покрывает 100% возможностей хостинга, но мы готовы быстро расширить его для нужного функционала буквально в считанные дни. Если у вас есть реальная необходимость в автоматизации каких-то конкретных операций, отсутствующих в текущих функциях или пока не опубликованных здесь, смело пишите на support@1gb.ru.

Хотите стать клиентом нашего хостинга? Попробуйте наши услуги и сервис. Тестовый период бесплатен, OK регистрация занимает всего одну минуту. После регистрации можно протестировать любые услуги хостинга.

Будем рады видеть вас нашим клиентом!

 

Оглавление технической документации

 

Мы всегда готовы ответить на ваши вопросы!
 

 

 

 
   
  Rambler's Top100
Наверх     
Rambler's Top100 Copyright © 2002-2024 In-Solve JSC.

как получить поддержку, контакты